Today, operating systems (OSs) provide software mechanisms to allow virtual memory backed by traditional physical block access storage devices such as hard disk drives (HDDs) and solid state drives (SSDs). These mechanisms allow for expanded application memory availability by making the available physical dynamic random-access memory (DRAM) of a host system act as a cache for a much larger traditional physical block access storage device (i.e. HDDs or SSDs). However, traditional physical block access storage devices such as HDDs and SSDs remain reliant on legacy communications interfaces, such as Serial AT Attachment (SATA) with the overhead of a storage software stack to perform input/output (I/O) operations.
Modern storage technologies can produce storage devices whose access latency is significantly lower than traditional spinning disk storage devices (i.e. HDDs) and even flash-based storage devices. However, these modern storage technologies have not yet achieved a low-enough latency to render them compatible with DDR specifications. The latency overhead of the software stack that current OSs have in place to support block and file system access is disproportionate and acts as a significant performance penalty for these modern low-latency storage devices.
What is needed, therefore, is an improved computing environment having access to new, high-performance persistent memory technologies over the memory interface compatible with existing standards or host system software, and without the overhead of a storage software stack to perform I/O operations.